#pragma once

namespace Be
{
	class Entity;
}

namespace Be
{
	class Component
	{
	public:
		Component(Entity* p_pEntity);
		virtual ~Component();

	public:
		Entity* GetEntity();

	private:
		Entity* m_pEntity;
		std::wstring m_EntityName;

		int m_RefCount;

	private:
		template<typename T>
		friend class ComPtr;
	};
}
